package org.etsi.ttcn.tri;

public interface TriComponentIdList {
  /**
   * Returns the number of components in this list.
   * 
   * @return the number of components in this list.
   */
  public int size();

  /**
   * Returns true if this list contains no components.
   * 
   * @return true if this list contains no components.
   */
  public boolean isEmpty();

  /**
   * Returns an Enumeration over the components in the list. The enumeration
   * provides the components in the same order as they appear in the list.
   * 
   * @return an Enumeration over the components in the list. The enumeration
   *         provides the components in the same order as they appear in the
   *         list.
   */
  public java.util.Enumeration getComponents();

  /**
   * Returns the TriComponentId at the specified position.
   * 
   * @param index
   *          the position in the list
   * @return the TriComponentId at the specified position.
   */
  public TriComponentId get(int index);

  /**
   * Removes all components from this TriComponentIdList.
   */
  public void clear();

  /**
   * Adds comp to the end of this TriComponentIdList.
   * 
   * @param comp
   *          the component to be added.
   */
  public void add(TriComponentId comp);
}
